package com.jbat.gwt.tiledmapcreator.client.views;

import com.jbat.gwt.tiledmapcreator.client.common.color.Color;

import com.google.gwt.safehtml.shared.SafeUri;
import com.google.gwt.touch.client.Point;
import com.google.gwt.user.client.ui.IsWidget;

/**
 * Defines the type of the EditMapView. 
 * <p>
 * This view is where the map will be edited.
 */
public interface EditMapView extends IsWidget {
  /**
   * Defines the type of the presenter for the EditMapView.
   */
  public interface Presenter {
    void drawCell(String string, Point canvasPoint);

    void select(Point point);
  }

  void drawRect(Color color, Point upperLeft, int width, int height);

  void drawImageAt(SafeUri imageString, Point canvasLocation, int width, int height);

  void drawLine(Color color, Point start, Point end);

  int getLeft();

  int getTop();

  void setMapSize(int rows, int cols);

  void setPresenter(Presenter presenter);
}
